The present disclosure relates generally to chip manufacturing, and more particularly to methods, systems and computer program products for performing system functional test on a chip having partial-good portions.
The rapid densification of very-large-scale integration (VLSI) devices, incorporating complex functions operating at extreme circuit performance, has driven the designs towards integrating many diverse functional macros or cores within these large chips. These macros range from autonomous processor cores with large cache arrays occupying relatively large portions of the chip's real estate, to a multitude of small arrays used as register stacks, trace arrays, content addressable memories, phase locked loops (PLLs), and many other special purpose logic functions. In conjunction with these higher integration densities and larger devices, current system architecture is shifting, in many applications, toward massively parallel processing utilizing multiple copies of these integrated cores. The number of processing cores can range from dual-cores to hundreds of cores per chip in the near future and to thousands of core arrays at system level. The independent logic units such as register stacks, trace arrays, content addressable memories, PLLs, as well as the cores in a processor are called “portions” of a chip here.
These highly integrated circuit functions, in conjunction with state-of-the-art semiconductor technology advances, usually result in relatively low device yields because even if one of the many portions of a chip is defective, then the entire chip is considered as defective. A further enhancement to the overall yield is to utilize partially “good” devices or devices that function acceptably with some defective macros.
The scenario outlined above surfaces several test and diagnostic problems that have driven the design and integration of many test functions within the same semiconductor devices. These built-in test and diagnostic functions are based on several Design for Test (DFT) techniques such as Scan design (LSSD, GSD), Logic & Array Built-in-self-test (LBIST & ABIST), On-product-clock-generation (OPCG), diverse service engines and others.
The problem addressed by this disclosure is encountered while concurrently testing multiple cores in a BIST test design environment. Specifically, the problem is to dynamically identify and de-configure the failing portions of the chip in real-time and exclude that core from further testing or terminate testing for insufficient number of functional cores.
Therefore, heretofore unaddressed needs still exist in the art to address the aforementioned deficiencies and inadequacies.